import pandas as pd
import numpy as np

def rs(file_path: str) -> pd.DataFrame:
    """
    用 Pandas 读取 excel，用 NumPy 排序，再转回 Pandas
    
    参数:
    file_path: excel 文件路径

    返回:
    pd.DataFrame: 排序后的 DataFrame
    """
    # 读取 Excel 文件
    df = pd.read_excel(file_path)
    
    # 提取排序列到 NumPy 数组
    sort_arrays = (df['t'].to_numpy(),df['x'].to_numpy())
    sorted_indices = np.lexsort(sort_arrays)
    
    # 应用排序索引
    sorted_df = df.iloc[sorted_indices].reset_index(drop=True)
    
    return sorted_df

if __name__ == "__main__":
    input_path = "data/points/points.xlsx"
    
    points=pd.read_excel('data/points/points.xlsx')
    points.sort_values(by=['x','t'],inplace=True)
    points.reset_index(drop=True,inplace=True)

    # 排序并获取结果
    sorted_df = rs(input_path)
    
    # 打印结果
    print((sorted_df==points).all())